package com.laiketui.order.api.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class OrderDetailDTO implements Serializable {
    /**
     * id
     */

    private Long id;

    /**
     * 商城id
     */
    private Integer storeId;

    /**
     * 用户id
     */
    private String userId;

    /**
     * 产品id
     */
    private Integer productId;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 产品价格(分)
     */
    private BigDecimal productPrice;

    /**
     * 数量
     */
    private Integer num;

    /**
     * 单位
     */
    private String unit;

    /**
     * 子订单号
     */
    private String orderNo;

    /**
     * 母订单号
     */
    private String orderParentNo;

    /**
     * 添加时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliverTime;

    /**
     * 到货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date arriveTime;

    /**
     * 状态 0 待确认 1待付款 2 备货中 3 待发货 4 已发货 5已完成 6已退款
     */
    private Integer status;

    /**
     * 退货原因
     */
    private String content;

    /**
     * 退款原因
     */
    private String reason;

    /**
     * 退款类型 1:退货退款  2:退款 3:售后
     */
    private Integer refundType;

    /**
     * 用户申请退款金额(分)
     */
    private BigDecimal refundUserMoney;

    /**
     * 退款金额(分)
     */
    private BigDecimal refundMoney;

    /**
     * 实际退款金额
     */
    private BigDecimal realMoney;

    /**
     * 申请退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date refundTime;

    /**
     * 上传凭证
     */
    private String refundPhoto;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /**
     * 配置名称
     */
    private String size;

    /**
     * 规格属性id
     */
    private String skuId;

    /**
     * 店铺ID
     */
    private Integer mchId;

    /**
     * 订单结算标识 0未结算 1已结算
     */
    private Integer settlementType;

    /**
     * 供货价单个
     */
    private BigDecimal supplierPrice;

    /**
     * 供货价(总和)
     */
    private BigDecimal totalSupplierPrice;

    /**
     * 发货数量
     */
    private Integer deliverNum;

    /**
     * 包件数量(单个商品)
     */
    private Integer bomNum;

    /**
     * 总体积
     */
    private BigDecimal totalVolume;

    /**
     * 单个体积
     */
    private BigDecimal volume;

    /**
     * 结算金额
     */
    private BigDecimal settlementPrice;

    /**
     * 总结算金额
     */
    private BigDecimal totalSettlementPrice;

    /**
     * 结算时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date settlementTime;

    /**
     * 0 正常 1已删除
     */
    private Integer deleted;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 商品是否下架 0 未下架 1 已下架
     */
    private Integer removeStatus;

    /**
     * 采购价
     */
    private BigDecimal costPrice;

    /**
     * 型号
     */
    private String marque;

    /**
     * 商品编码
     */
    private String productCode;

    /**
     * 1.整装 2.组装
     */
    private Integer bagType;

    /**
     * 税费(分)
     */
    private BigDecimal taxation;

    /**
     * 总支付金额(包含税)
     */
    private BigDecimal payPrice;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 属性
     */
    private String attribute;

    /**
     * 属性列表
     */
    private String[] parameters;

    /**
     * 供应商商品规格上级id
     */
    private Integer supplierSuperior;

    /**
     * 水库图片
     */
    private String img;

    /**
     * 图片数组
     */
    private String imgArr;

    /**
     * 产品图片
     */
    private String imgurl;

    /**
     * 副标题
     */
    private String subtitle;

    /**
     * 备货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date stockingTime;

    /**
     *  质检: 0未通过 1 已通过
     */
    private Integer qualityInspection;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 订单子项编号
     */
    private String detailNo;
    //作为导出序号无其他用途
    private Integer sort;

    private static final long serialVersionUID = 1L;



}
